home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / programm.ing / m2gem106.lzh / CRYSTAL1.06 / SRC / TOOLBOX / INTRINSI.DEF < prev    next >
Encoding:
Modula Definition  |  1993-08-01  |  1.3 KB  |  63 lines

  1. DEFINITION MODULE INTRINSIC;
  2.  
  3. (*
  4. Procedures that should be intrinsic.
  5.  
  6. UK __DATE__ __TIME__
  7. *)
  8.  
  9. (*DEF_SWITCHES*)
  10.  
  11. FROM PORTAB IMPORT ANYWORD,ANYLONG,ANYTYPE,ANYPOINTER;
  12. FROM SYSTEM IMPORT WORD;
  13.  
  14. #if (defined ISOM2) || (defined TSM2_1)
  15. IMPORT SYSTEM;
  16. #endif
  17. #if (defined TSM2_1) || (defined TSM2_2)
  18. IMPORT Lib;
  19. #endif
  20. #if export
  21. EXPORT QUALIFIED LONG,SHORT,VOID,PTR,INCPTR,DECPTR,SHIFT;
  22. #endif
  23.  
  24. #if not ((defined MSM2)   || (defined MM2)    || (defined FSTM2) || \
  25.          (defined TSM2_1) || (defined TSM2_2) || (defined LM2)   || \
  26.          (defined FTLM2)  || (defined TDIM2))
  27. PROCEDURE LONG(AnyWord: ANYWORD): ANYLONG;
  28.  
  29. PROCEDURE SHORT(AnyLong: ANYLONG): ANYWORD;
  30. #endif
  31.  
  32. PROCEDURE VOID(AnyWord: WORD);
  33.  
  34. #ifdef ISOM2
  35. CONST PTR = SYSTEM.ADR;
  36.  
  37.       INCPTR = SYSTEM.ADDADR;
  38.  
  39.       DECPTR = SYSTEM.SUBADR;
  40.  
  41.       SHIFT = SYSTEM.SHIFT;
  42. #else
  43.  
  44. #if (defined TSM2_1) || (defined TSM2_2)
  45. CONST PTR ::= SYSTEM.ADR;
  46. #else
  47. PROCEDURE PTR(VAR AnyThing: ARRAY OF ANYTYPE): ANYPOINTER;
  48. #endif
  49.  
  50. #if (defined TSM2_1) || (defined TSM2_2)
  51. CONST INCPTR ::= Lib.IncAddr;
  52.  
  53.       DECPTR ::= Lib.DecAddr;
  54. #else
  55. PROCEDURE INCPTR(VAR Ptr: ANYPOINTER; Add: CARDINAL);
  56.  
  57. PROCEDURE DECPTR(VAR Ptr: ANYPOINTER; Sub: CARDINAL);
  58. #endif
  59.  
  60. PROCEDURE SHIFT(Word: ANYWORD; Amount: INTEGER): ANYWORD;
  61. #endif
  62. END INTRINSIC.
  63.